package com.py.credit.clean.code;

import java.io.UnsupportedEncodingException;
import java.util.Map;

/**
 * 行政相对人类别校验
 * @author Administrator
 *
 */
public class XdrlbCheck {
	
	public boolean run(Map<String, Object> map, String extend) {
		
		if(String.valueOf(map.get("CF_XZXDRLB")).equals("个体工商户")) {
			if(map.get("A000002").toString().substring(0,2).equals("92")
					||gtgshtyshdmVal(map.get("A000002").toString())) {
				return true;
			}else {
				return false;
			}
		}else if (String.valueOf(map.get("XK_XZXDRLB")).equals("个体工商户")) {
			if(map.get("A000002").toString().substring(0,2).equals("92")
					||gtgshtyshdmVal(map.get("A000002").toString())) {
				return true;
			}else {
				return false;
			}	
		}else if (String.valueOf(map.get("CF_XZXDRLB")).equals("法人及非法人组织")) {
			if(!map.get("A000002").toString().substring(0,2).equals("92")
					&& !gtgshtyshdmVal(map.get("A000002").toString())) {
				return true;
			}else {
				return false;
			}	
		}else if (String.valueOf(map.get("XK_XZXDRLB")).equals("法人及非法人组织")) {
			if(!map.get("A000002").toString().substring(0,2).equals("92")
					&& !gtgshtyshdmVal(map.get("A000002").toString())) {
				return true;
			}else {
				return false;
			}	
		}else {
			return true;
		}
	


}
	
	static boolean gtgshtyshdmVal(String str)  {
		if (str.contains("\\u00A0")) {
			return false;
		}
		str = str.trim();
		String reg = "^0{17}X$";
		if (str.matches(reg)) {
			return true;
		}
		return false;
	}
}
